﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dominio;
using Persistencia;

namespace Interfaces
{
    public class ImpICliente : ICliente
    {   
        public Cliente CrearCliente(string nombre) {
            Cliente cliente = new Cliente(nombre);
            Sistema.GetSistema().AgregarCliente(cliente);
            return cliente;
        }

        public Cliente BuscarCliente(int IdCliente) {
            List<Cliente> clientes = Sistema.GetSistema().GetClientes();
            foreach (Cliente c in clientes) {
                if (c.idCliente == IdCliente)
                {
                    return c;
                }
            }
            return null;
        }

        public void ModificarCliente(Cliente idCliente, string nuevoNombre) {
            idCliente.SetNombre(nuevoNombre);
            idCliente.Update();
        }

        public void EliminarCliente(Cliente idCliente){
            Sistema.GetSistema().EliminarCliente(idCliente);
            idCliente.Delete();
        }

        public void AregarVehiculo(Cliente cliente, string matricula, string marca, string modelo){
            Vehiculo v = new Vehiculo(cliente.idCliente, matricula, marca, modelo);
            cliente.AgregarAuto(v);
            cliente.Create();
        }

        public List<Cliente> ObtenerClientes()
        {
            Sistema sistema = Sistema.GetSistema();
            return sistema.GetClientes();
        }

        public Vehiculo ObtenerMatriculaVehiculo(Cliente idCliente)
        {
            return idCliente.ObtenerAuto();
        }
    }
}
